home *** CD-ROM | disk | FTP | other *** search
/ BCI NET 2 / BCI NET 2.iso / archives / programming / languages / obrn-a_1.5_lib.lha / oberon-a / source1.lha / source / amiga / ClipBoard.mod < prev    next >
Encoding:
Text File  |  1995-01-26  |  3.0 KB  |  101 lines

  1. (***************************************************************************
  2.  
  3.      $RCSfile: ClipBoard.mod $
  4.   Description: clipboard.device structure definitions
  5.  
  6.    Created by: fjc (Frank Copeland)
  7.     $Revision: 3.7 $
  8.       $Author: fjc $
  9.         $Date: 1995/01/26 02:39:55 $
  10.  
  11.   $VER: clipboard.h 36.5 (2.11.90)
  12.   Includes Release 40.15
  13.  
  14.   (C) Copyright 1985-1993 Commodore-Amiga, Inc.
  15.       All Rights Reserved
  16.  
  17.   Oberon-A interface Copyright © 1994-1995, Frank Copeland.
  18.   This file is part of the Oberon-A Interface.
  19.   See Oberon-A.doc for conditions of use and distribution.
  20.  
  21. ***************************************************************************)
  22.  
  23. <* STANDARD- *> <* INITIALISE- *> <* MAIN- *>
  24.  
  25. MODULE [2] ClipBoard;
  26.  
  27. <*$ CaseChk-  IndexChk- LongVars+ NilChk-  *>
  28. <*$ RangeChk- StackChk- TypeChk-  OvflChk- *>
  29.  
  30. IMPORT e := Exec, s := Sets;
  31.  
  32. CONST
  33.  
  34.   post *                = e.nonstd+0;
  35.   currentReadId *       = e.nonstd+1;
  36.   currentWriteId *      = e.nonstd+2;
  37.   changeHook *          = e.nonstd+3;
  38.  
  39.   obsoleteId *        = 1;
  40.  
  41. TYPE
  42.  
  43.   ClipboardUnitPartialPtr * = POINTER TO ClipboardUnitPartial;
  44.   ClipboardUnitPartial * = RECORD (e.NodeBase)
  45.     node *    : e.Node;                    (* list of units *)
  46.     unitNum * : e.ULONG;                   (* unit number for this unit *)
  47.     (* the remaining unit data is private to the device *)
  48.   END; (* ClipboardUnitPartial *)
  49.  
  50.  
  51. TYPE
  52.  
  53.   IOClipReqBase *= RECORD (e.MessageBase) END;
  54.   IOClipReqBasePtr *= POINTER TO IOClipReqBase;
  55.  
  56.   IOClipReqPtr * = POINTER TO IOClipReq;
  57.   IOClipReq * = RECORD (IOClipReqBase)
  58.     message * : e.Message;
  59.     device *  : e.DevicePtr;   (* device node pointer *)
  60.     unit *    : ClipboardUnitPartialPtr; (* unit node pointer *)
  61.     command * : e.UWORD;       (* device command *)
  62.     flags *   : s.SET8;        (* including QUICK and SATISFY *)
  63.     error *   : SHORTINT;      (* error or warning num *)
  64.     actual *  : e.ULONG;       (* number of bytes transferred *)
  65.     length *  : e.ULONG;       (* number of bytes requested *)
  66.     data *    : e.APTR;        (* either clip stream or post port *)
  67.     offset *  : e.ULONG;       (* offset in clip stream *)
  68.     clipID *  : LONGINT;       (* ordinal clip identifier *)
  69.   END; (* IOClipReq *)
  70.  
  71. CONST
  72.  
  73.   primaryClip *    = 0;       (* primary clip unit *)
  74.  
  75. TYPE
  76.  
  77.   SatisfyMsgPtr * = POINTER TO SatisfyMsg;
  78.   SatisfyMsg * = RECORD (e.MessageBase)
  79.     message * : e.Message;           (* the length will be 6 *)
  80.     unit *    : e.UWORD;             (* which clip unit this is *)
  81.     clipID *  : LONGINT;             (* the clip identifier of the post *)
  82.   END; (* SatisfyMsg *)
  83.  
  84. TYPE
  85.  
  86.   ClipHookMsgPtr * = POINTER TO ClipHookMsg;
  87.   ClipHookMsg * = RECORD
  88.     type *      : e.ULONG; (* zero for this structure format *)
  89.     changeCmd * : LONGINT; (* command that caused this hook invocation: *)
  90.                            (*   either cmdUpdate or cbdPost *)
  91.     clipID *    : LONGINT; (* the clip identifier of the new data *)
  92.   END; (* ClipHookMsg *)
  93.  
  94.  
  95. CONST
  96.  
  97.   clipboardName * = "clipboard.device";
  98.  
  99.  
  100. END ClipBoard.
  101.